package infb.dao;

import infb.modelo.CategoriasMedicamentos;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;


@Stateless(mappedName="CategoriasMedicamentosEJB")
public class CategoriasMedicamentosBean implements CategoriasMedicamentosInterfaz {
    @PersistenceContext
    private EntityManager em;

    public void create(CategoriasMedicamentos categoriasMedicamentos) {
        em.persist(categoriasMedicamentos);
    }

    public void edit(CategoriasMedicamentos categoriasMedicamentos) {
        em.merge(categoriasMedicamentos);
    }

    public void remove(CategoriasMedicamentos categoriasMedicamentos) {
        em.remove(em.merge(categoriasMedicamentos));
    }

    public CategoriasMedicamentos find(Object id) {
        return em.find(CategoriasMedicamentos.class, id);
    }

    public List<CategoriasMedicamentos> findAll() {
        return em.createQuery("select cm from CategoriasMedicamentos cm order by cm.categoria asc").getResultList();
    }

    /*
     * Metodo para encontrar una categoria a partir del nombre
     */
    public CategoriasMedicamentos findByNombre(String nombreCategoria) {
        return (CategoriasMedicamentos)em.createQuery("select c from CategoriasMedicamentos c where c.categoria=?1").setParameter(1, nombreCategoria).getSingleResult();
    }

}
